package com.xiehua.task.job;

import com.xiehua.task.job.pool.Job;
import org.tio.core.ChannelContext;
import org.tio.core.GroupContext;

import java.util.List;

public interface TaskReverse {

    /**
     * //不可执行状态，等待时钟周->job初始化
     **/
    Job delay(Job job, GroupContext context);

    /***
     * 可执行状态，等待消费。
     * **/
    void ready(List<Job> jobs);

    /**
     * 任务已通知，但还未得到消费者的响应
     **/
    void notify(Job job, GroupContext context);

    /**
     * 客户端响应完成
     **/
    void executeed(String jobId, ChannelContext channelContext);

    /**
     * 任务执行成功
     **/
    void success(String jobId) throws Exception;

    /**
     * 执行失败
     **/
    void fail(String jobId) throws Exception;


}
